package com.zxy.ziems.server.device.service;

import com.zxy.btp.common.response.PageResult;
import com.zxy.ziems.server.device.pojo.dto.DeviceTypeDTO;
import com.zxy.ziems.server.device.pojo.entity.DeviceTypeEntity;
import com.zxy.ziems.server.device.pojo.vo.DeviceTypeVO;
import com.zxy.ziems.server.mybatis.core.pojo.PageParam;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * 设备类型
 * @author chdzq
 * @create 2023/3/22
 */
public interface DeviceTypeService {
    /**
     * 增加
     * @param dto
     */
    void add(DeviceTypeDTO dto);

    /**
     * 更新
     */
    void update(DeviceTypeDTO dto);

    /**
     * 删除
     * @param id
     */
    void deleteById(String id);


    /**
     * 获取DO
     * @param code
     * @return
     */
    DeviceTypeEntity getByCode(String code);

    /**
     * 获取DO列表
     * @param ids
     * @return
     */
    List<DeviceTypeEntity> listByIds(Collection<? extends Serializable> ids);

    /**
     * 根据编号列表获取DO列表
     * @param codes
     * @return
     */
    List<DeviceTypeEntity> listByCodes(Collection<? extends Serializable> codes);

    /**
     * 获取全部Entity
     * @return
     */
    List<DeviceTypeEntity> listAll();


    /**
     * 获取全部展示信息
     * @return
     */
    List<DeviceTypeVO> viewAll();

    DeviceTypeEntity loadById(String deviceTypeId);
}
